/*
 * Wire
 * Copyright (C) 2018 Wire Swiss GmbH
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see http://www.gnu.org/licenses/.
 *
 */

const soundCloudStatic = [
  'about',
  'channels',
  'charts',
  'discover',
  'discussion',
  'featured',
  'home',
  'messages',
  'mobile',
  'pages',
  'playlists',
  'sets',
  'settings',
  'stream',
  'terms-of-use',
  'upload',
  'videos',
  'you',
];

const BLACKLIST = [
  `soundcloud.com/(?!${soundCloudStatic.join('|')})`,
  'spotify.com/(?!\\w\\w/)',
  'youtu.be',
  'youtube(-nocookie)?.com/(watch|embed)',
  'vimeo.com/(channels/[^/]+/|video/)?[0-9]+',
];

export const isBlacklisted = (url: string) => new RegExp(BLACKLIST.join('|')).test(url);
